Create, Read, Update, এবং Delete অপারেশন ইমপ্লিমেন্ট করা

Basic CRUD অপারেশন (Basic CRUD Operations) - এন হাইবারনেট (NHibernate) - Microsoft Technologies

234

NHibernate ব্যবহার করে CRUD (Create, Read, Update, Delete) অপারেশন ইম্প্লিমেন্ট করা অত্যন্ত সহজ এবং সরল। NHibernate ORM (Object-Relational Mapping) ব্যবহারের মাধ্যমে ডেটাবেসের সঙ্গে সরাসরি কাজ করার পরিবর্তে আপনি আপনার ডোমেন ক্লাসের অবজেক্টসের মাধ্যমে ডেটাবেসে তথ্য পরিচালনা করতে পারেন। নিচে NHibernate ব্যবহার করে CRUD অপারেশন ইমপ্লিমেন্ট করার উদাহরণ দেওয়া হলো।


1. Create (তথ্য তৈরি করা)

Create অপারেশন ডেটাবেসে নতুন রেকর্ড (অথবা এন্টিটি) সংযোজনের জন্য ব্যবহৃত হয়। আপনি একটি নতুন অবজেক্ট তৈরি করেন এবং তা সেশন ব্যবহার করে ডেটাবেসে সেভ করেন।

using NHibernate;

public class EmployeeRepository
{
    public void AddEmployee(Employee employee)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                session.Save(employee);  // Create অপারেশন (Save a new Employee)
                transaction.Commit();    // ট্রানজেকশন কমিট
            }
        }
    }
}

এখানে, Save মেথডটি Employee অবজেক্টটিকে ডেটাবেসে সেভ করে।


2. Read (তথ্য পড়া)

Read অপারেশন ডেটাবেস থেকে তথ্য পড়ার জন্য ব্যবহৃত হয়। এটি একটি সেশন ব্যবহার করে ডেটাবেস থেকে এক বা একাধিক রেকর্ড নিয়ে আসে।

একটি একক রেকর্ড পড়া:

public Employee GetEmployeeById(int id)
{
    using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
    {
        return session.Get<Employee>(id);  // Read অপারেশন (একটি Employee পড়া)
    }
}

এখানে Get(id) মেথডটি ডেটাবেস থেকে নির্দিষ্ট ID সহ একটি Employee অবজেক্ট লোড করে।

একাধিক রেকর্ড পড়া:

public IList<Employee> GetAllEmployees()
{
    using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
    {
        return session.CreateCriteria<Employee>().List<Employee>();  // Read অপারেশন (সব Employee পড়া)
    }
}

এখানে, CreateCriteria() ব্যবহার করে Employee অবজেক্টের জন্য সমস্ত রেকর্ড লোড করা হয়েছে।


3. Update (তথ্য আপডেট করা)

Update অপারেশন ডেটাবেসে বিদ্যমান রেকর্ডের তথ্য আপডেট করার জন্য ব্যবহৃত হয়। আপনি একটি অবজেক্ট লোড করেন, তারপর সেটি মডিফাই করে ডেটাবেসে সেভ করেন।

public void UpdateEmployee(Employee employee)
{
    using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
    {
        using (ITransaction transaction = session.BeginTransaction())
        {
            session.Update(employee);  // Update অপারেশন (Employee আপডেট করা)
            transaction.Commit();      // ট্রানজেকশন কমিট
        }
    }
}

এখানে, Update মেথডটি ডেটাবেসে employee অবজেক্টটি আপডেট করে।


4. Delete (তথ্য মুছে ফেলা)

Delete অপারেশন ডেটাবেস থেকে একটি রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়। আপনি একটি অবজেক্ট লোড করেন এবং সেটি ডেটাবেস থেকে মুছে ফেলেন।

public void DeleteEmployee(int id)
{
    using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
    {
        using (ITransaction transaction = session.BeginTransaction())
        {
            Employee employee = session.Get<Employee>(id);  // Delete অপারেশন (একটি Employee লোড করা)
            if (employee != null)
            {
                session.Delete(employee);  // Employee মুছে ফেলা
                transaction.Commit();      // ট্রানজেকশন কমিট
            }
        }
    }
}

এখানে, session.Delete(employee) মেথডটি employee অবজেক্টটিকে ডেটাবেস থেকে মুছে ফেলবে।


5. CRUD অপারেশনের জন্য পূর্ণ উদাহরণ

নীচে একটি পূর্ণ উদাহরণ দেয়া হলো, যেখানে Employee নামক একটি ডোমেন ক্লাসের উপর CRUD অপারেশনগুলো সম্পাদন করা হচ্ছে:

using NHibernate;
using System;
using System.Collections.Generic;

public class Employee
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual int Age { get; set; }
}

public class EmployeeRepository
{
    public void AddEmployee(Employee employee)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                session.Save(employee);  // Create
                transaction.Commit();
            }
        }
    }

    public Employee GetEmployeeById(int id)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            return session.Get<Employee>(id);  // Read
        }
    }

    public IList<Employee> GetAllEmployees()
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            return session.CreateCriteria<Employee>().List<Employee>();  // Read all
        }
    }

    public void UpdateEmployee(Employee employee)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                session.Update(employee);  // Update
                transaction.Commit();
            }
        }
    }

    public void DeleteEmployee(int id)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                Employee employee = session.Get<Employee>(id);  // Get
                if (employee != null)
                {
                    session.Delete(employee);  // Delete
                    transaction.Commit();
                }
            }
        }
    }
}

6. সারাংশ

  • Create: session.Save() মেথডের মাধ্যমে নতুন অবজেক্ট তৈরি করা হয়।
  • Read: session.Get<T>() বা session.CreateCriteria<T>() মেথডের মাধ্যমে ডেটাবেস থেকে রেকর্ড পড়া হয়।
  • Update: session.Update() মেথডের মাধ্যমে বিদ্যমান রেকর্ড আপডেট করা হয়।
  • Delete: session.Delete() মেথডের মাধ্যমে একটি রেকর্ড মুছে ফেলা হয়।

এই CRUD অপারেশনগুলো আপনার ডোমেন মডেল (যেমন Employee) ব্যবহার করে সহজেই ডেটাবেসের সঙ্গে যোগাযোগ পরিচালনা করতে সহায়তা করবে।

Content added By
Promotion

Are you sure to start over?

Loading...